package com.ys.service.business;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.ys.entity.business.TpBoutique;
import com.ys.vo.R;

import lombok.AllArgsConstructor;
import lombok.Data;

/**
 * 精品库
 */
public interface TpBoutiqueService {

	//精品库新增
	R add(TpBoutique tpBoutique) throws Exception ;

	//精品库修改
	R update(Map<String, Object> params);

	//精品库删除
	int del(long id);


	//参数验证
	String checkParams(Map<String, Object> params,Long menuId) throws Exception;

	//精品库列表数据
	R list(Integer page, String code, Integer sortType);
	@Data
	@AllArgsConstructor
	public class ListDto{
		private List<RowDto> rows;
		private Integer totalNum;
		
		@Data
		@AllArgsConstructor
		public static class RowDto{
			private String code; // 编码
			private String name; // 名称
			private String img; // 图片地址
			private Integer type; // 类型，新品或爆品
			private String purchasePrice; // 采购价
			private Integer numStock; // 库存
			private Integer numBuyer; // 人数
			private Integer numSale; // 销量
			private BigDecimal weightVol; // 抛重，计算公式：商品重量/1000-（商品长*宽*高）/6000=X值，取值为listing库的商品重量、商品长度、商品宽度、商品高度字段
		}
	}

    /*
     * 更新设置数据
     */
    R editSetting(Map<String, Object> param);

    /*
     * 删除调货信息
     */
    R deleteDetail(Long id);

    /*
     * 保存调货信息
     */
    R editDetailBatch(Long boutiqueId, String detailArr);

	/*
	 * 添加进购物车
	 */
	R addToCart(String choiceShop);

	/*
	 * 移出购物车
	 */
	R removeFromCart(Long cartId);


	//批量导入
	R importInfo(String rows,Long menuId);


	//精品库权限删除
	R delByAuth(Long id);
}